package org.aerie.forest.boot;

import org.aerie.forest.core.brick.exception.custom.runtime.ForestBanNew;
import org.aerie.forest.core.frame.init.ForestFrameContext;
import org.aerie.forest.core.frame.rebar.factory.ForestFactory;

/**
 * @description forest守护者
 *
 * @author quark
 * @organization aerie
 * @date 2020年2月27日 下午5:22:26
 * @version 1.2.0
 */
public final class Forester {

	/**
	 * @description forest的环境变量
	 * 
	 * @author quark
	 * @date 2020年2月27日 下午5:22:34
	 * @version 1.2.0
	 */
	public static final ForestFrameContext FOREST_FRAME_CONTEXT = ForestFrameContext.INSTANCE;

	/**
	 * @description 静态初始化log
	 * 
	 * @author quark
	 * @date 2020年2月27日 下午5:22:34
	 * @version 1.2.0
	 */
	static {
		// log初始化
		FOREST_FRAME_CONTEXT.logInit();
	}

	/**
	 * @description forest架构元素工厂
	 * 
	 * @author quark
	 * @date 2020年2月27日 下午5:23:02
	 * @version 1.2.0
	 */
	public static final ForestFactory forestFactory = ForestFactory.INSTANCE;

	/**
	 * Construction 禁止构造
	 * 
	 *
	 * @date 2020年2月27日 下午5:23:11
	 * @version 1.2.0
	 */
	private Forester() {
		// 禁止创建对象
		throw new ForestBanNew(Forester.class);
	}
}
